Sambungan dan ciri protokol Gnutella

Gnutella beroperasi berasaskan protokol banjiran pertanyaan. Versi 0.4 lapuk Gnutella protokol jaringan (network protocol) menggunakan lima paket berlainan, seperti

  • ping: mencari hos di jaringan
  • pong: menjawap ping
  • query: carian fail
  • query hit: menjayap pertanyaan
  • push: permohonan pindah terima (untuk firewalled servents)

Yang ini adalah berkenaan pencarian jaringan Gnutella. Pindahan fail ditangani melalui protokol HTTP sedia ada.

Pembangunan Gnutella adalah diketuai oleh Forum Pembangunan Gnutella - GDF (Gnutella Developer Forum). Banyak tambahan protokol telah dan akan dimajukan, oleh penjual aturcara dan pemaju Gnutella percuma GDF. Ia termasuk penyaluran pertanyaan bijak (intelligent query routing), SHA checksums, pindah terima sejajar (swarming), dll.

Terdapat usaha untuk menyiapkan tambahan protokol ini pada spesifikasi di laman pembangunan Gnutella 0.6. Piawai Gnutella 0.4 walaupun masih merupakan protokol terkini kerana semua tambahan hanya wujud sebagai cadangan, adalah sudah lapuk. Malah ia adalah sukar atau mustahil untuk memaut menggunakan jabat tangan (handshake) dengan 0.4.

Pada Januari 2003 Shareaza mengistiharkan protokol Gnutella2 yang menggunakan UDP dan bukannya protokol jaringan TCP untuk carian, an extensible binary xml-like packet format and termasuk kebanyakan pautan yang disebut di atas. Lakaran spesifikasi yang dibebaskan oleh mereka pada 26 March 2003. Gnutella2 (G2) tidak disokong oleh jaringan Gnutella "lama" -- kecuali untuk Gnucleus -- dan pemaju Gnutella merujuk kepadanya sebagai "MP" (Protokol Mike) kerana ia tidak diluluskan oleh GDF.